Managing the scheduling and distribution of work orders to a workforce composed of several mobile service technicians has been facilitated in recent years, by use of computer programs for tracking, scheduling and assigning work orders from the time of receipt of request for an order from until the time of completion by the service technician. Collectively, such computer programs are designated herein as workforce management systems (WMSs).
The WMSs presently in use treat each work order as a discrete unit of work, requiring a discrete duration of time, at a discrete location within a service area by a workforce of technicians operating in that service area. For example, three mobile technicians for a telecommunications company in area X may each be able to service three different types of ordinary work orders, designated O1, O2 and O3 where O1 typically requires a half-hour to complete, O2 requires an hour to complete and O3 requires two hours to complete. Treatment of these work orders as discrete time commitments permits the assignment of work orders to technicians independently of the assignment of any other work order. In the above example, any of the three technician can be scheduled to complete any of the three types of work orders in any sequence to fill that technicians work shift. Independent scheduling allows a WMS to schedule the work orders in a manner that is most efficient for the a technician and for the workforce as a whole.
A common factor impacting efficiency is travel time. For example, it may be more efficient for a technician to complete three work orders according to the sequence O3 before O2 before O1, than to complete them according to the sequence O2 before O3 before O1, if the locations of O2 and O1 are in close proximity to one another and distant from O3. It would be a waste of travel time to make two distant trips (from O2 to O3 and again from O3 to O1) when only one distant trip (from O3 to O2) needs to made. Several WMSs schedule work orders to minimize travel time for technicians in the workforce.
Another factor impacting efficiency is customer appointment time. It is often desirable to schedule the start of a work order to occur in a fixed appointment time window as required by a customer. This poses a constraint on workforce scheduling efficiency. If for example, half-hour work order O1 has an appointment time window of 3:30 to 4:00 pm and all technicians end their shifts at 5:00 pm, then a two-hour work order O2 cannot be scheduled to start after O1 because there would not be sufficient time to complete the order. It would therefore be more efficient to schedule O2 before O1 and perhaps to schedule another half hour order to occur after O1. Certain WMSs, are able to assign work orders to satisfy customer appointment times, because when work orders are discrete, they can readily be assigned to any available technician with an opening in his schedule.
Treating work orders as discrete work orders is only useful when the work orders are independent of one another. Unfortunately, when two or more work orders are related in terms of the relative time one order can start with respect to the completion of another, they cannot be scheduled independently from one another without the risk of a failed assignment. A failed assignment occurs where one order cannot be started according to schedule because it depends on another order that has not been completed. A set of work orders that bear such a dependancy relationship with one another are referred to herein as a complex work order and each related work order in the set is referred to as a “sub-order.” An example of a complex work order is the installation of a cable service at a newly constructed residence. Such an order may require digging a trench, laying a cable in the trench and connecting the cable to a cable box in the residence. If one technician arrives on-site to lay the cable before the trench is complete he would have a failed assignment, likewise a second technician cannot connect the cable to the box until the cable is available.
The scheduling of complex work orders is not adequately addressed by existing WMSs. Such systems typically treat work orders as independent work assignments that can only be scheduled as discrete units without regard to their relationship to any other work order. If an order is a complex work order, a separate entry must be made in the WMS for each discrete sub-order in a procedural manner that ensures each required work order will be completed in the proper sequence. Such a process is inefficient, prone to error, and produces scheduling solutions that are undesirable. For example, one complex work order requiring three independent sub-orders taking one-half hour to complete may take three days to finish, because each independent sub-order is entered into the WMS on three different days to ensure that one order is complete before the next is scheduled. There is therefore, a need in the art for data structures, processes and systems for managing complex work orders.